JavaScript 排序
由于 sort
方法默认先转换为 string
再排序,所以会有坑。
不过,我们可以自定义一个函数,实现 -1 0 1 三类值的返回,这样就可以进行排序。
var arr = [10, 20, 1, 2];
arr.sort(function (x, y) {
if (x < y) {
return 1;
}
if (x > y) {
return -1;
}
return 0;
}); // [20, 10, 2, 1]
由于 sort
方法默认先转换为 string
再排序,所以会有坑。
不过,我们可以自定义一个函数,实现 -1 0 1 三类值的返回,这样就可以进行排序。
var arr = [10, 20, 1, 2];
arr.sort(function (x, y) {
if (x < y) {
return 1;
}
if (x > y) {
return -1;
}
return 0;
}); // [20, 10, 2, 1]